import datetime
from zoneinfo import ZoneInfo
from google.adk.agents import LlmAgent

from pdfmonitor.shared_config import create_llm_model

def get_weather(city: str) -> dict:
    if city.lower() == 'new york':
        return {
            "status": '"success',
            "report": (
                "The weather in New York is sunny with a temperature of 25 degrees"
                " Celsius (77 degrees Fahrenheit)."
            )
        }
    else:
        return {
            "status": "error",
            "error_message": f"Weather information for '{city}' is not available.",
        }

def get_current_time(city: str) -> dict:
    if city.lower() == "new york":
        tz_identifier = "America/New_York"
    else:
        return {
            "status": "error",
            "error_message": (
                f"Sorry, I don't have timezone information for {city}."
            ),
        }
    tz = ZoneInfo(tz_identifier)
    now = datetime.datetime.now(tz=tz)
    report = (
        f'The current time in {city} is {now.strftime("%Y-%m-%d %H:%M:%S %Z%z")}'
    )
    return {
        "status":"success",
        "report": report
    }

def create_hello_agent()->LlmAgent:
    return LlmAgent(
        name="hello_agent",
        model=create_llm_model,
        description="天气预报员",
        instruction="你是一个天气预报员",
        tools=[get_weather,get_current_time],
        output_key="test"
    )